package cn.itcast.com;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;

public class ReadFileTools {
	public List<String> readFile() throws IOException{
		// 创建一个读取文本字节流的对象
		FileReader fr = new FileReader("E:/Stability_base_err.txt");
		// 创建字符读取流对象
		BufferedReader br = new BufferedReader(fr);
		// 创建一个读取文本字节流的对象
		String str;
		List<String> listTxt = new ArrayList<String>();
		while ((str = br.readLine()) != null) {
			// 按自定字符串查找
			String pattern = "(.*ANR.*)";
			// 判断一段字符串中是否有pattern的特殊字符
			boolean isMatch = Pattern.matches(pattern, str);
			// 如果包含这个特殊的字符串才写入
			if (isMatch) {
				// 读取字符0到"("之间的字符串
				int loc = str.indexOf("(");
				// 判断如果文本中存在有()的字符串就截取掉从(开始到后面的内容
				if (loc != -1) {
					str = str.substring(0, loc);
				}
				listTxt.add(str);
			}
		}
		br.close();
		return listTxt;
	}
}
